<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>玩转算法面试 从真题到思维全面提升算法思维</title>
</head>
<body>
<div class="learn-course-list">

    <div class="list-item">
        <h3>
            第1章 算法面试到底是什么鬼?
        </h3>
        <ul>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=9000">
                    1-1 算法面试不仅仅是正确的回答问题 (19:37) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2646">
                    1-2 算法面试只是面试的一部分 (14:51) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2647">
                    1-3 如何准备算法面试 (17:38) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=3036">
                    1-4 如何回答算法面试问题 (13:40) </a>


                <i class="sz-full iright pink"></i>
            </li>
        </ul>
    </div>
    <div class="list-item">
        <h3>
            第2章 面试中的复杂度分析
        </h3>
        <ul>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2649">
                    2-1 究竟什么是大O（Big O） (19:52) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2650">
                    2-2 对数据规模有一个概念 (11:26) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2651">
                    2-3 简单的复杂度分析 (19:20) </a>


                <i class="sz-empty iright pink"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2652">
                    2-4 亲自试验自己算法的时间复杂度 (14:53) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2653">
                    2-5 递归算法的复杂度分析 (14:46) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2654">
                    2-6 均摊时间复杂度分析（Amortized Time Analysis） (15:16) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2655">
                    2-7 避免复杂度的震荡 (11:25) </a>


                <i class="sz-empty iright"></i>
            </li>
        </ul>
    </div>
    <div class="list-item">
        <h3>
            第3章 数组中的问题其实最常见
        </h3>
        <ul>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2656">
                    3-1 从二分查找法看如何写出正确的程序 (15:27) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2657">
                    3-2 改变变量定义，依然可以写出正确的算法 (12:06) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2658">
                    3-3 在LeetCode上解决第一个问题 Move Zeros (13:27) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2659">
                    3-4 即使简单的问题，也有很多优化的思路 (15:30) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2660">
                    3-5 三路快排partition思路的应用 Sort Color (22:26) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2661">
                    3-6 对撞指针 Two Sum II - Input Array is Sorted (19:44) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2662">
                    3-7 滑动窗口 Minimum Size Subarray Sum (14:09) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2663">
                    3-8 在滑动窗口中做记录 Longest Substring Without Repeating Characters (15:20) </a>


                <i class="sz-empty iright"></i>
            </li>
        </ul>
    </div>
    <div class="list-item">
        <h3>
            第4章 查找表相关问题
        </h3>
        <ul>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2664">
                    4-1 set的使用 Intersection of Two Arrays (11:12) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2665">
                    4-2 map的使用 Intersection of Two Arrays II (13:05) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2666">
                    4-3 set和map不同底层实现的区别 (19:00) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2667">
                    4-4 使用查找表的经典问题 Two Sum (16:56) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2668">
                    4-5 灵活选择键值 4Sum II (13:25) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2715">
                    4-6 灵活选择键值 Number of Boomerangs (14:45) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2716">
                    4-7 查找表和滑动窗口 Contain Duplicate II (11:20) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2717">
                    4-8 二分搜索树底层实现的顺序性 Contain Duplicate III (10:50) </a>


                <i class="sz-empty iright"></i>
            </li>
        </ul>
    </div>
    <div class="list-item">
        <h3>
            第5章 在链表中穿针引线
        </h3>
        <ul>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2669">
                    5-1 链表，在节点间穿针引线 Reverse Linked List (15:44) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2670">
                    5-2 测试你的链表程序 (16:26) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2671">
                    5-3 设立链表的虚拟头结点 Remove Linked List Elements (17:08) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2672">
                    5-4 复杂的穿针引线 Swap Nodes in Pairs (13:30) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2673">
                    5-5 不仅仅是穿针引线 Delete Node in a Linked List (07:29) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2740">
                    5-6 链表与双指针 Remove Nth Node Form End of List (16:49) </a>


                <i class="sz-empty iright"></i>
            </li>
        </ul>
    </div>
    <div class="list-item">
        <h3>
            第6章 栈，队列，优先队列
        </h3>
        <ul>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2674">
                    6-1 栈的基础应用 Valid Parentheses (16:10) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2675">
                    6-2 栈和递归的紧密关系 Binary Tree Preorder, Inorder and Postorder Traversal (16:03) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2676">
                    6-3 运用栈模拟递归 (19:33) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2677">
                    6-4 队列的典型应用 Binary Tree Level Order Traversal (10:26) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2678">
                    6-5 BFS和图的最短路径 Perfect Squares (21:20) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2679">
                    6-6 优先队列 (11:09) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2680">
                    6-7 优先队列相关的算法问题 Top K Frequent Elements (15:37) </a>


                <i class="sz-empty iright"></i>
            </li>
        </ul>
    </div>
    <div class="list-item">
        <h3>
            第7章 二叉树和递归
        </h3>
        <ul>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2681">
                    7-1 二叉树天然的递归结构 (15:58) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2682">
                    7-2 一个简单的二叉树问题引发的血案 Invert Binary Tree (09:08) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2683">
                    7-3 注意递归的终止条件 Path Sum (12:04) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2684">
                    7-4 定义递归问题 Binary Tree Path (13:34) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2685">
                    7-5 稍复杂的递归逻辑 Path Sum III (14:11) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2686">
                    7-6 二分搜索树中的问题 Lowest Common Ancestor of a Binary Search Tree (17:46) </a>


                <i class="sz-empty iright"></i>
            </li>
        </ul>
    </div>
    <div class="list-item">
        <h3>
            第8章 递归和回溯法
        </h3>
        <ul>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2687">
                    8-1 树形问题 Letter Combinations of a Phone Number (18:09) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2688">
                    8-2 什么是回溯 (18:16) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2689">
                    8-3 排列问题 Permutations (19:02) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2690">
                    8-4 组合问题 Combinations (14:27) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2691">
                    8-5 回溯法解决组合问题的优化 (17:29) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2692">
                    8-6 二维平面上的回溯法 Word Search (21:45) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2694">
                    8-7 floodfill算法，一类经典问题 Number of Islands- (21:27) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2695">
                    8-8 回溯法是经典人工智能的基础 N Queens (25:17) </a>


                <i class="sz-empty iright"></i>
            </li>
        </ul>
    </div>
    <div class="list-item">
        <h3>
            第9章 动态规划基础
        </h3>
        <ul>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2951">
                    9-1 什么是动态规划 (20:27) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2952">
                    9-2 第一个动态规划问题 Climbing Stairs (14:02) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2953">
                    9-3 发现重叠子问题 Integer Break (25:10) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2954">
                    9-4 状态的定义和状态转移 House Robber (27:19) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2955">
                    9-5 0-1背包问题 (32:37) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2984">
                    9-6 0-1背包问题的优化和变种 (20:18) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2985">
                    9-7 面试中的0-1背包问题 Partition Equal Subset Sum (27:34) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2986">
                    9-8 LIS问题 Longest Increasing Subsequence (25:12) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=2987">
                    9-9 LCS，最短路，求动态规划的具体解以及更多 (21:00) </a>


                <i class="sz-empty iright"></i>
            </li>
        </ul>
    </div>
    <div class="list-item">
        <h3>
            第10章 贪心算法
        </h3>
        <ul>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=3010">
                    10-1 贪心基础 Assign Cookies (12:12) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=3012">
                    10-2 贪心算法与动态规划的关系 Non-overlapping Intervals (17:58) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=3043">
                    10-3 贪心选择性质的证明 (15:19) </a>


                <i class="sz-empty iright"></i>
            </li>
        </ul>
    </div>
    <div class="list-item">
        <h3>
            第11章 课程结语
        </h3>
        <ul>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/82.html#mid=3044">
                    11-1 结语 (02:45) </a>


                <i class="sz-empty iright"></i>
            </li>
        </ul>
    </div>

    <div class="chapter-update-state clearfix">
        <i class="imv2-check"></i>
        <span>本课程已完结</span>
    </div>
</div>
</body>
</html>